In a receiver for communication, which does not use clock synchronization, including asynchronous communication and CDR (clock data recovery) communication, data recovery accuracy may be degraded if an error occurs in a duty of a pulse of received data due to characteristics of a circuit element used in a transmitting side. For example, assuming that a photocoupler is placed in a driver of the transmitting side or between the transmitting side and receiving side, its output stage is configured as an open drain output, and the output strength is not enough. As a result, an error occurs in timing of a rising edge and/or a falling edge of data recovered in a receiving side.
If the error occurs in timing of the edge as described above, the number of consecutive bits of the same value may be detected incorrectly. JP-A-2005-20471 corresponding to US 2004/0264617 discloses a technique for solving such a problem. An object of JP-A-2005-20471 is to remove the influence of the error by performing sampling at a phase timing corresponding to a center P of the width of a L pulse in received data.
In the technique disclosed in JP-A-2005-20471, the center P is given by the following formula: P={T−(tH−tL)}/2. When a duty error is defined as “a”, and “tH=T+a” and “tL=T−a” are substituted into the formula, the center P can be given as follows: P={T−(T+a−(T−a))}/2=T/2−a. According to this calculation result, the center P is timing calculated by subtracting the duty error “a” from a half of a pulse period. Clearly, it is different from the center phase of the width of the L pulse where the duty error “a” occurs.
That is, since JP-A-2005-20471 fails to disclose a concrete configuration to perform sampling at the phase corresponding to the center P of the width of the L pulse, it may be almost impracticable.